#ifndef GAMEGUI_H
#define GAMEGUI_H

#include "GraphicalUserInterface.h"

/*enum EButton_Type
{
	BASIC_TOWER_SELECT,
	SLOWING_TOWER_SELECT,
	START_GAME,
	QUIT_GAME
};*/

enum ETextfield_Type
{
	GOLD_COUNTER,
	TIME_ELAPSED,
	WALL_HEALTH,
	LOSE,
	WIN,
	TITLE
};



class GameGUI
{
public:
	GameGUI(GuiManager* gui_manager);
	virtual ~GameGUI(void);

	Gui::Button* CreateButton(Gui::EButtonType type, int x, int y, int w, int h, const String& text, unsigned int color, int font_size);
	Gui::Textfield* CreateTextfield(ETextfield_Type type, int x, int y, int w, int h, const String& text, unsigned int color, int font_size, bool visible);

	Gui::Button* GetButton(Gui::EButtonType type);
	Gui::Button* GetButton(float x, float y);
	
	Gui::Textfield* GetTextfield(ETextfield_Type type);

	

private:
	GuiManager* m_gui_manager;
	
	std::map<Gui::EButtonType, Gui::Button*> m_buttons;
	std::map<ETextfield_Type, Gui::Textfield*> m_textfields;


};

#endif //GAMEGUI_H